MPC
Model Predictive Control 模型预测控制
它通过预测系统未来的行为来计算当前的最优控制动作
模型预测控制(MPC)是一种先进的控制策略,它在每个时间步,利用系统模型预测未来的行为,并求解一个优化问题来确定当前的最优控制输入。MPC 的核心思想是滚动优化 (Receding Horizon Optimization) 和反馈校正 (Feedback Correction),使其能够处理复杂的约束和多变量系统,在机器人、自动驾驶和工业过程控制等领域得到广泛应用。
一、核心思想:预测未来,优化当下
MPC 的核心思想可以概括为:
- 预测 (Predict): 在当前时间步
,利用系统的数学模型,根据当前的系统状态和未来一段时间内的控制输入序列,预测系统在未来预测时域 (Prediction Horizon) 内的行为。 - 优化 (Optimize): 在预测时域内,求解一个优化问题,找到一个最优的控制输入序列,使得某个性能指标(如跟踪误差、能耗)最小化,同时满足所有系统约束(如执行器限制、安全边界)。
- 执行 (Execute): 只执行优化得到的控制序列的第一个控制输入。
- 滚动 (Recede): 在下一个时间步
,重新测量系统状态,并重复上述过程。预测时域会向前滚动,因此 MPC 也被称为“滚动时域控制”。
二、基本原理
1. 预测模型 (Prediction Model)
MPC 依赖于一个准确的系统模型来预测未来的状态。这个模型可以是线性的或非线性的,离散的或连续的。例如,对于一个简单的线性系统:
其中
2. 滚动优化 (Receding Horizon Optimization)
在每个时间步
- 定义一个预测时域
: 预测未来 个时间步的系统行为。 - 定义一个控制时域
: 在未来 个时间步内优化控制输入(通常 )。 - 求解优化问题: 找到一个控制序列
,使得目标函数最小化,并满足所有约束。
3. 反馈校正 (Feedback Correction)
MPC 的鲁棒性来源于其反馈机制。在每个时间步,MPC 都会重新测量系统的实际状态,并将其作为下一次优化的起始点。这使得 MPC 能够纠正模型误差、外部扰动和未建模动态的影响。
三、数学公式:优化问题
MPC 在每个时间步求解的优化问题通常是一个约束优化问题:
目标函数
- 状态跟踪误差: 衡量预测状态与期望轨迹之间的偏差。
- 控制输入成本: 惩罚过大的控制输入或控制输入的剧烈变化。
其中
约束条件:
- 系统动力学:
(由预测模型给出)。 - 状态约束:
(如机器人关节角度限制)。 - 控制输入约束:
(如电机力矩限制)。 - 碰撞约束: 机器人不能与障碍物发生碰撞。
四、优缺点分析
优点 (Pros) | 缺点 (Cons) |
---|---|
处理多变量系统:能够同时处理多个输入和输出,并考虑它们之间的耦合。 | 计算成本高:在每个时间步都需要求解一个优化问题,对于实时应用可能计算量过大。 |
处理约束:能够显式地处理系统状态和控制输入的各种约束。 | 依赖精确模型:模型的准确性对 MPC 的性能至关重要。模型误差可能导致性能下降。 |
在线优化:在每个时间步重新优化,具有很强的适应性和鲁棒性。 | 超参数选择:预测时域、控制时域、权重矩阵等参数的选择对性能影响很大。 |
预测能力:能够预测未来行为,提前采取措施应对潜在问题。 |
五、应用领域
MPC 因其强大的处理复杂约束和多变量系统的能力,在许多领域得到广泛应用: